package Entities;

import java.util.List;

public interface ICalendar {

	/**
 	 * This function returns an adjacent calendar (cyclic) 
	 * The returned calendar may be with another course to the base calendar
	 * of short in one course comparing to the current calendar
	 * @return adjacent calendar, null if reached end of optional calendars
	 */	
	Calendar getNextAdjacentCalendar();

	/**
	 * @return list of the courses in the calendar
	 */
	List<Course> getCourses();
	
	boolean isEmpty();
	
	int getNumberOfCollisions();
	
	List<Course> getCoursesWithoutAdjacents(); 
}
